لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش ویژگی های جدید C++ 20 (2a) [ویدئو]
C++ 20 (2a) New Features [Video]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
C++ به دلیل عملکرد باورنکردنی و مناسب بودن آن برای سیستم عامل ها، بازی ها، نرم افزارهای تعبیه شده و موارد دیگر محبوب است. این دوره شما را با جدیدترین مؤلفههای C++20/C++2a بهروز میکند تا بتوانید از پیشرفتهای جدید آن استفاده کنید و با استفاده از ویژگیهای آن از بازی جلوتر باشید!
ما آنچه را که C++20/C++2a است و وضعیت استانداردسازی فعلی را پوشش میدهیم. ما همچنین تعدادی قند نحوی جدید را کشف کردیم که به شما امکان میدهد کد کوتاهتر اما قدرتمندتر بنویسید. با محدودهها و تکرارکنندههای جدید و بهبود یافته آشنا میشوید، نمونههای کلیدی پشتهبندی فیلترها را کاوش میکنید و یاد میگیرید که چگونه محدودهها کدهای تکرارکننده سنگین را ساده میکنند. مهمتر از همه، شما به نحوه مهاجرت به C++20/C++2a به سادهترین روش ممکن و چرا باید مسلط شوید!
C++20/C++2a ویژگیهای جدیدی را به کتابخانه همگامسازی میآورد، از جمله نشانگرهای هوشمند اتمی، ضامنها و موانع. ما برنامههای کاملاً جدید آن را بررسی میکنیم (مفهومی اصلی که در سایر زبانهای برنامهنویسی پیشرو یافت میشود که نوشتن کد را برای اجرای موازی ساده میکند).
در پایان دوره، از بینش های به روز در مورد ویژگی های کامل C++20/C++2a برای تسهیل کدنویسی کارآمد و سریع در پروژه های خود استفاده خواهید کرد.
بسته کد این دوره در آدرس زیر موجود است: https://github.com/PacktPublishing/C-20-2a-New-Features انتقال پروژه در نسخه های قدیمی C++ به C++20/C++2a
کدنویسی کارآمدتر با رشته و اعداد
روش های جدید و بهتر برای کار با قالب بندی رشته ها با استفاده از قالب جدید std:: در C++20/C++2a
عملگر مقایسه جدید را در زبان اصلی پیاده سازی کنید و از یک مثال سفارشی در انواع تعریف شده توسط کاربر استفاده کنید
همگام سازی و هماهنگی رشته های جدید بهبود یافته را کشف کنید، از جمله پشتیبانی از انتظار اتمی کارآمد، انواع انتگرال بدون قفل، و موارد دیگر
استفاده از مفاهیم برای انجام اعتبارسنجی زمان کامپایل آرگومان های قالب و انجام توزیع تابع بر اساس ویژگی های نوع این دوره برای توسعه دهندگانی ایده آل است که از قبل به C++ (نسخه های قبلی) مسلط هستند و می خواهند با آخرین C++ به روز شوند. نسخه 20/C++2a و ویژگی ها و مزایای آن. با استفاده از آخرین نسخه C++ کد قوی و کارآمد بنویسید * کد C++ خود را به آخرین نسخه منتقل کنید و در وقت و تلاش خود صرفه جویی کنید * برنامه های جدید را کشف کنید که نوشتن کدهای موازی را ساده می کند.
سرفصل ها و درس ها
شروع کار با C++20
Getting Started with C++20
بررسی اجمالی دوره
The Course Overview
فرآیند استانداردسازی C++20
Standardization Process of C++20
مهاجرت به C++20
Migrating to C++20
نحوه ساختن نمونه ها
How to Build Examples
قالب بندی رشته با استفاده از New std::format
String Formatting Using New std::format
منطق std::format
Rationale for std::format
std::format: متغیرهایی و نحو
std::format: Placeholders and Syntax
std::format_to و std::format_to_n
std::format_to and std::format_to_n
قالب بندی انواع تعریف شده توسط کاربر
Formatting User Defined Types
انتقال Stdio و Iostreams به قالب std::
Migrating Stdio and Iostreams to std::format
محدوده - Iterators دوباره اختراع شد
Ranges - Iterators Reinvented
منطق برای محدوده ها
Rationale for Ranges
چه چیزی جدید در محدوده
What's New in Ranges
استفاده از Ranges
Using Ranges
محدوده های آهنگسازی
Composing Ranges
اپراتور مقایسه جدید <=>
New Comparison Operator <=>
منطق پشت اپراتور مقایسه جدید
Rationale Behind New Comparison Operator
استفاده از <=> اپراتور و نحوه مقایسه
Usage of <=> Operator and How to Make Comparisons
بازنویسی و ترکیب عبارات
Rewriting and Synthetizing Expressions
تغییرات مرتبط در اپراتور==
Associated Changes in Operator==
ارزش برگشتی اپراتور سفینه فضایی
Returning Value of the Spaceship Operator
ماژول ها
Modules
منطق پشت ماژول ها
Rationale Behind the Modules
چگونه یک ماژول را تعریف کنیم
How to Define a Module
پارتیشن بندی ماژول ها
Partitioning of Modules
کامپایل و پیوند دادن ماژول ها به یک فایل اجرایی
Compiling and Linking Modules into an Executable
پیاده سازی مفاهیم
Implementing Concepts
منطق پشت مفاهیم
Rationale Behind Concepts
مفاهیم به عنوان محمولات زمان کامپایل
Concepts as Compile Time Predicates
تعریف مفاهیم خود
Defining Own Concepts
کتابخانه مفاهیم
Concepts Library
افزونه های کتابخانه همگام سازی جدید
New Synchronization Library Extensions
اشاره گرهای هوشمند اتمی
Atomic Smart Pointers
انتظار اتمی کارآمد
Efficient Atomic Waiting
هماهنگی دسترسی سبک
Lightweight Access Coordination
چفت ها و موانع
Latches and Barriers
کوروتین ها
Coroutines
منطق پشت کوروتین ها
The Rationale Behind Coroutines
مفهوم تقسیم حالت اجرا و موضوع اجرا
Concept of Splitting Execution State and the Thread of Execution
آناتومی کوروتین
Coroutine Anatomy
عبارات ژنراتور
Generator Expressions
مثال استفاده
Example of Use
سایر ویژگی ها و پیشرفت ها
Other Features and Improvements
با استفاده از Enum
Using Enum
بهبود عبارات لامبدا
Improvements to Lambda Expressions
آغازگرهای تعیین شده
Designated Initializers
پسوندهای constexpr
constexpr Extensions
خلاصه دوره
Course Summary
نمایش نظرات
Packtpub یک ناشر دیجیتالی کتابها و منابع آموزشی در زمینه فناوری اطلاعات و توسعه نرمافزار است. این شرکت از سال 2004 فعالیت خود را آغاز کرده و به تولید و انتشار کتابها، ویدیوها و دورههای آموزشی میپردازد که به توسعهدهندگان و متخصصان فناوری اطلاعات کمک میکند تا مهارتهای خود را ارتقا دهند. منابع آموزشی Packtpub موضوعات متنوعی از جمله برنامهنویسی، توسعه وب، دادهکاوی، امنیت سایبری و هوش مصنوعی را پوشش میدهد. محتوای این منابع به صورت کاربردی و بهروز ارائه میشود تا کاربران بتوانند دانش و تواناییهای لازم برای موفقیت در پروژههای عملی و حرفهای خود را کسب کنند.
Daniel Zawadzki یک توسعه دهنده نرم افزار با 15 سال تجربه است. حرفه او بیشتر بر توسعه تعبیه شده برای دستگاه های مختلف مانند تلفن ها، ست تاپ باکس ها و ایستگاه های پایه تلفن همراه متمرکز بوده است، اگرچه او در طول مسیر کمی به سمت بانکداری سرمایه گذاری منحرف شد. زبان منتخب او (او بیش از 5 سال تجربه با آن دارد) C++ است زیرا کارایی و استفاده از منابع قابل پیش بینی دارد. در حال حاضر، علایق او حول محور معماری سیستم های توزیع شده می چرخد. او در Wrocaw، لهستان زندگی می کند.
نمایش نظرات